# -*- coding: utf-8 -*-
from PyQt4 import QtGui
from Bauteilkiste.UIClasses.UIInputDialog import UIInputDialog

class UIKondensatoren(UIInputDialog):    
    def __init__(self, parent=None):
        ###############################################
        ######Konsruktoren aufrufe#####################
        ###############################################
        #QtGui.QDialog.__init__(self, parent)
        UIInputDialog.__init__(self, parent)
        self.tableName = "Kondensatoren"

        ###############################################
        #####Elemente erzeugen#########################
        ###############################################

        labels = {}
        for l in ["Kapazität", "Typ", "Rastermaß", "Spannungsfestigkeit"]:
            labels[l] = QtGui.QLabel(l)

        self.inputs["Kapazität"]           = QtGui.QLineEdit()
        self.inputs["Einheit"]              = QtGui.QComboBox()
        self.inputs["Typ"]                  = QtGui.QComboBox()
        self.inputs["Rastermaß"]           = QtGui.QComboBox()
        self.inputs["Spannungsfestigkeit"]  = QtGui.QLineEdit()
        
        for l in ["Elko", "Folie", "Keramik", "Tantal", "Glimmer", "Trimmer"]:
            self.inputs["Typ"].addItem(l)

        for l in ["µF", "nF", "pF"]:
            self.inputs["Einheit"].addItem(l)

        for l in ["2.5", "5.0", "7.5"]:
            self.inputs["Rastermaß"].addItem(l)

        ################################################
        #####Eigenschaften / Events#####################
        ################################################
        
        self.inputs["Einheit"].setEditable(True)
        self.inputs["Typ"].setEditable(True)        
        self.inputs["Rastermaß"].setEditable(True)

        self.inputs["Kapazität"].editingFinished.connect(self.checkNumber)
        #self.inputs["Rastermaß"].editingFinished.connect(self.checkNumber)
        self.inputs["Spannungsfestigkeit"].editingFinished.connect(self.checkNumber)
        self.numberFields.append("Kapazität")
        #self.numberFields.append("Rastermaß")
        self.numberFields.append("Spannungsfestigkeit")
        
        self.setWindowTitle("Kondensator hinzufügen")

        #############################################
        ######Anordnen###############################
        #############################################

        mainVBox    = QtGui.QVBoxLayout()
        topGrid     = QtGui.QGridLayout()
        bottomGrid  = QtGui.QGridLayout()
        buttonBox   = QtGui.QHBoxLayout()
        wertHBox    = QtGui.QHBoxLayout()

        wertHBox.addWidget(self.inputs["Kapazität"])
        wertHBox.addWidget(self.inputs["Einheit"])

        topGrid.addWidget(labels["Kapazität"],                 0, 0)
        topGrid.addLayout(wertHBox,                             0, 1)
        topGrid.addWidget(labels["Spannungsfestigkeit"],        1, 0)
        topGrid.addWidget(self.inputs["Spannungsfestigkeit"],   1, 1)
        topGrid.addWidget(labels["Typ"],                        2, 0)
        topGrid.addWidget(self.inputs["Typ"],                   2, 1)

        bottomGrid.addWidget(labels["Rastermaß"],        0, 0)
        bottomGrid.addWidget(self.labels["Bauform"],         0, 1)
        bottomGrid.addWidget(self.inputs["Rastermaß"],   1, 0)
        bottomGrid.addWidget(self.inputs["Bauform"],    1, 1)

        buttonBox.addWidget(self.buttonAccept)
        buttonBox.addWidget(self.buttonReject)

        mainVBox.addLayout(topGrid)
        mainVBox.addLayout(bottomGrid)
        mainVBox.addWidget(self.lagerinformationen)
        mainVBox.addLayout(buttonBox)

        self.setLayout(mainVBox)

